package cn.kgc.spring04.interfac;

/**
 * @Author: 课工场
 * @Version: v1.0  2023/4/28
 * @Description:  实现代码的功能增强    1.代码冗余  2.违背代码编写的开闭原则
 *
 * spring  aop  面向切面编程   不修改源码实现代码功能的增强
 * 代理模式：
 * 1.静态代理
 *   1.编写一个类 实现和被代理对象相同的接口
 *   2.代理类要依赖被代理类
 * 2.动态代理
 *  2.1 jdk动态代理
 *      1.基于接口的代理  2.依赖被代理对象
 *  2.2 cglib动态代理  基于父子类的代理   user  method1
 */
public class TeacherWang implements Teacher {

    @Override
    public String teachOnline(String course) {

        System.out.println("-------------"+course+"课程正在线上授课---------------");
        return course;
    }

    @Override
    public String teachOffline(String course) {

        System.out.println("-------------"+course+"课程正在线下授课---------------");

        return course;
    }
}
